#pragma once


#include "igamestate.h"


/* Forward Declarations */
class CSGD_Direct3D;
class CSGD_DirectInput;
class CSGD_TextureManager;
class CSGD_XAudio2;


class CMainMenuState :
	public IGameState
{
public:
	/* SINGLETON */
	static CMainMenuState* GetInstance( void );

	/* IGameState interface */
	virtual void Enter	( void );
	virtual void Exit	( void );

	virtual bool Input	( void );
	virtual void Update ( float fElapsedTime );
	virtual void Render ( void );

private:
	CMainMenuState(void);
	virtual ~CMainMenuState(void);
	CMainMenuState( const CMainMenuState& );
	CMainMenuState& operator= ( const CMainMenuState& );

	/* wrappers */
	CSGD_Direct3D*					m_pD3D;
	CSGD_DirectInput*				m_pDI;
	CSGD_TextureManager*			m_pTM;
	CSGD_XAudio2*					m_pXA;

	//Asset IDs
	int								BGimg;

	int								currSelection;

};

